package org.alis.ap.rpc.transport;

import org.alis.ap.rpc.Peer;

import java.io.InputStream;

/**
 * TransportClient desc:
 * step_01 创建链接
 * step_02 发送数据
 * step_03 等待响应
 * step_04 关闭链接
 *
 * @author luochuan
 * @date 2020/10/16 16:18
 */
public interface TransportClient {
    /**
     * 创建链接
     * @param peer peer
     */
    void connect(Peer peer);

    /**
     * 发送数据
     * @param inputStream 输入流
     * @return 获取之后的数据流
     */
    InputStream write(InputStream inputStream);

    /**
     * 取消链接
     */
    void disconnect();
}
